package com.icss.vo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

import com.icss.common.vo.BasePojo;

/**
 * ~订单的Pojo
 * 
 * @author 陈岩
 */
public class MakeupOrders extends BasePojo<MakeupOrders>
{
	private int id;
	private int usersId;
	private String name;
	private String phone;
	private String addr;
	private double totalMoney;
	private String note;
	private byte status;
	private Date createTime;
	private Date updateTime;

	/*--字符串表示--*/
	private String statusStr;
	/*--关联对象表示--*/
	private MakeupUsers users;

	private List<MakeupCart> cartList = new ArrayList<MakeupCart>();

	/* 存储所有状态的容器 */
	private Map<String, String> enumsMap = new TreeMap<String, String>();

	/**
	 * 获取此表相关的所有枚举值
	 * 
	 * @return 键为枚举的变量名+枚举的值; 值为枚举的名字 如:key:STATUS_ENABLE-1,值:启用
	 */
	public Map<String, String> getEnumsMap()
	{
		// 根据状态值获取字符串描述
		MakeupOrdersEnum[] enums = MakeupOrdersEnum.values();
		for (int i = 0; i < enums.length; i++)
		{
			MakeupOrdersEnum enumTemp = enums[i];
			String key = enumTemp.toString();
			enumsMap.put(key + "-" + enumTemp.getStatus() + "", enumTemp.getName());
		}
		return enumsMap;
	}

	/**
	 * 获取状态的字符串描述
	 * 
	 * @return 此状态对应的字符串描述
	 */
	public String getStatusStr()
	{
		// 根据状态值获取字符串描述
		MakeupOrdersEnum[] enums = MakeupOrdersEnum.values();
		for (int i = 0; i < enums.length; i++)
		{
			MakeupOrdersEnum enumTemp = enums[i];
			if (enumTemp.toString().startsWith("STATUS_"))
			{
				// 表示是状态的标识
				if (enumTemp.getStatus() == this.getStatus())
				{
					this.statusStr = enumTemp.getName();
					break;
				}
			}
		}
		return statusStr;
	}

	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	public int getUsersId()
	{
		return usersId;
	}

	public void setUsersId(int usersId)
	{
		this.usersId = usersId;
	}

	public String getName()
	{
		return name;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public String getPhone()
	{
		return phone;
	}

	public void setPhone(String phone)
	{
		this.phone = phone;
	}

	public String getAddr()
	{
		return addr;
	}

	public void setAddr(String addr)
	{
		this.addr = addr;
	}

	public double getTotalMoney()
	{
		return totalMoney;
	}

	public void setTotalMoney(double totalMoney)
	{
		this.totalMoney = totalMoney;
	}

	public String getNote()
	{
		return note;
	}

	public void setNote(String note)
	{
		this.note = note;
	}

	public byte getStatus()
	{
		return status;
	}

	public void setStatus(byte status)
	{
		this.status = status;
	}

	public Date getCreateTime()
	{
		return createTime;
	}

	public void setCreateTime(Date createTime)
	{
		this.createTime = createTime;
	}

	public Date getUpdateTime()
	{
		return updateTime;
	}

	public void setUpdateTime(Date updateTime)
	{
		this.updateTime = updateTime;
	}

	public MakeupUsers getUsers()
	{
		return users;
	}

	public void setUsers(MakeupUsers users)
	{
		this.users = users;
	}

	public List<MakeupCart> getCartList()
	{
		return cartList;
	}

	public void setCartList(List<MakeupCart> cartList)
	{
		this.cartList = cartList;
	}
}
